package com.binhthuan.catechist.client.dto;

import name.pehl.piriti.client.json.Json;
import name.pehl.piriti.client.json.JsonReader;
import name.pehl.piriti.client.json.JsonWriter;

import com.google.gwt.core.client.GWT;

/**
 * @author Giang Đinh - Chi tiết lịch học, tương ứng với bảng
 *         <b>kehoachhoctap_chitiet</b> trong cơ sở dữ liệu.
 */
public class PlanDetail {

    public interface PlanDetailReader extends JsonReader<PlanDetail> {
    }
    public interface PlanDetailWriter extends JsonWriter<PlanDetail> {
    }

    public static PlanDetailReader READER = GWT.create(PlanDetailReader.class);
    public static PlanDetailWriter WRITER = GWT.create(PlanDetailWriter.class);

    /**
     * Mã chi tiết.
     */
    @Json
    private Integer id;
    
    /**
     * Ngày học.
     */
    @Json
    private Date day;
    
    /**
     * Nội dung.
     */
    @Json
    private String content;
    
    /**
     * Bảng kế hoạch.
     */
    @Json
    private Plan plan;
    
    /**
     * Ghi chú.
     */
    @Json
    private String comment;

    public PlanDetail() {
        
    }
    
    /**
     * Lấy mã chi tiết.
     * @return Mã chi tiết.
     */
    public Integer getId() {
        return id;
    }

    /**
     * Gán mã chi tiết.
     * @param id
     *            Mã chi tiết.
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * Lấy ngày học.
     * @return Ngày học.
     */
    public Date getDay() {
        return day;
    }

    /**
     * Gán ngày học.
     * @param day
     *            Ngày học.
     */
    public void setDay(Date day) {
        this.day = day;
    }

    /**
     * Lấy nội dung.
     * @return Nội dung.
     */
    public String getContent() {
        return content;
    }

    /**
     * Gán nội dung.
     * @param content
     *            Nội dung.
     */
    public void setContent(String content) {
        this.content = content;
    }

    /**
     * Lấy bảng kế hoạch.
     * @return Bảng kế hoạch.
     */
    public Plan getPlan() {
        return plan;
    }

    /**
     * Gán bảng kế hoạch.
     * @param plan
     *            Bảng kế hoạch.
     */
    public void setPlan(Plan plan) {
        this.plan = plan;
    }

    /**
     * Lấy ghi chú.
     * @return Ghi chú.
     */
    public String getComment() {
        return comment;
    }

    /**
     * Gán ghi chú.
     * @param comment
     *            Ghi chú.
     */
    public void setComment(String comment) {
        this.comment = comment;
    }
}
